home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
games
/
vchess
/
vchess.doc
< prev
next >
Wrap
Text File
|
1995-03-09
|
55KB
|
1,229 lines
VChess 3.1 - A Chess game for Amiga-Computers (OS 2.0+)
© 1993-1994 by Stefan Salewski
All Rights Reserved
Copyright and other legal stuff
VChess is NOT a PD-Program, but Shareware! VChess and all other files of
this package (except the ReqTools.library) are Copyright © 1993-1994 by
Stefan Salewski.
In spite of several tests, no warranty is made that there are no errors in
VChess. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no case I will be liable
for any damage, direct or indirect, resulting by the use of VChess.
The complete VChess 3.1-Package contains the following files:
File or directory Size Meaning
------------------------------------------------------------------------
VChess 107092 Mainprogram, V3.1, © S.Salewski
VChess.doc 55495 English documentation
VChess.dok 71502 German documentation
VChessOpenings 23612 148 Chessopenings
Product-Info 2000 For KingFisher 2.0 or similar tools.
ReqToolsLibrary Dir ReqTools.library V38.1194 © N. Francois
Games Dir Three saved games.
Text Dir A game saved as text file.
Icons Dir Icons for games, text and configurations
Catalogs Dir Catalog for german language
Configs Dir Two configurations
Checkmates Dir A solved mate in 2, and an unsolved one.
Catalog-Translations Dir English, deutsch and empty
Distribution of VChess is only allowed if the following conditions are
fulfilled:
All these files must remain unmodified. None of these files may be
distributed on its own, the entire package must be distributed together.
(It is allowed to distribute this package without ReqTools.library,
because I think nearly everybody will have it already, or to replace this
library with a never release.)
(It is allowed to archive these files with archiving-programs like LHA
(© Stefan Boberg) if it is possible to retrieve the files from the archive
in their original state.)
Permission is granted to include this package in Public-Domain
collections, especially in Fred Fish's Amiga FD-Disk Library (including CD
ROM versions of it).
The complete package may be (in archived form) uploaded to Bulletin Board
Systems or FTP servers.
PD-dealers and other people who want to distribute VChess are only allowed
to take money for the floppy disk and copying efforts. Nobody may take
more than $5(US) or DM 5 for the disk with VChess. This is also valid if
there is other software besides VChess on the Disk.
The distribution of VChess in "Software Packages" (more than one disk)
together with other Software is only allowed with my written permission if
the package cost more than US$ 5 or DM 5.
The distribution of VChess on CD-ROM is only allowed if the CD-ROM
contains the contents of FD-Disks (for example Fish 500-1000) or if the
price of the CD-ROM in not greater than US$1 per megabyte. This means,
that nobody may sell a CD-ROM containing VChess and 100 Megabytes of other
software for a price greater than US$100.
Distribution of VChess together with commercial software is forbidden.
Distribution of VChess 3.1 on "Coverdisk" of Computer magazines is only
allowed if the following three conditions are met:
-The price of magazine (including the coverdisk) may not be greater than
$7(US).
-The disk must be freely distributable, so that everybody who bought the
magazine can copy the disk for his friends.
-And the magazine must tell all of the purchasers that the author of
VChess got no money from the magazine.
(The reason why I make such strong restrictions about Coverdisks is as
following: Some magazines copied VChess 2.0 on their coverdisk without
asking me for permission or informing me about it. I think, that somebody
who got VChess from such Coverdisk may think, that I got some money from
the magazine, and he may suppose that it is not so important to pay the
shareware-donation. But of course this is not true. None of these
magazines gave me anything for it. So even people, who got VChess from an
expensive Coverdisk, have to pay their contribution.)
Of course it is reserved for me to forbid single companies or persons the
distribution of VChess.
User of VChess should regard this: An empty Floppy-Disk costs less than
US$1, and copying VChess takes less than two minutes. If you paid more
than US$3 for the disk with VChess, then this was quite expensive. But if
you have paid more than US$5, this was too much. Try to get your money
back, and tell me about it.
What is new in release 3.1 ?
Well, there are many improvements and new features. I can't state all of
them here, so even if you are familiar with release 2.0, it is recommended
to read this documentation carefully. The greatest improvement is the new
window called "Move-Chain". If you now click one an entry in the
"Thinking..."-Window, then you can see the whole movechain in the
"Move-Chain"-Window. Now VChess adapts itself to the user preferred
language using Locale.library if running under OS 2.1+. (Currently
"deutsch" is the only additional language beside the built-in English
language.) I think that the playing-strength in much better now. And this
version of VChess will not need the Garbage-Collector.library.
(Some weeks ago some registered VChess-User got release 3.0 of VChess.
Unfortunately there are a few small bugs in release 3.0, so all people who
got release 3.0 should substitute it with the actual release 3.1.)
(Please note that it is not possible to use old 2.0-datafiles, like
configuration files, saved games or the opening-library with VChess 3.1.)
Introduction
VChess is written fully in Oberon language, and was developed on an Amiga
3000 using Amiga Oberon V 3.11 (© Fridtjof Siebert). With the help of
OS 2.0, ReqTools.library and Amiga-Oberon, I have produced a compact,
powerful and easy to use program. To run this program, you need an Amiga
with OS 2.0 or greater, and additional the ReqTools.library
(© Nico Francois). If the ReqTools.library is not part of this package,
you can find it for example in the "March/April 1994 FreshFish CDROM"
(New/util/libs Version 2.2) or on the AmigaLibDisk 794 (version 2.1a).
Please note that there exists a Preferences-Editor for ReqTools.library.
You can use this Editor (not part of this package) to modify the behaviour
of the ReqTools.library. VChess needs not much memory. Without the use of
the Opening-library, it may be possible to use VChess on an Amiga with
only 512 K. The normal stacksize of 4096 Byte should be enough too.
Installation
Copy, if not already installed, the ReqTools.library to LIBS:. This is
all. Now you can start VChess from Workbench with Double-Click. If you
want to install VChess on your hard disk, it is best to copy the whole
VChess-Drawer to hard disk, because this drawer contains the
Opening-Library and other things. VChess can use Catalog-files to adapt
itself to other languages than English. VChess searches for these
catalogfiles in PROGDIR:Catalogs/language. Where PROGDIR: is the directory
in which VChess resides. If, for example, your preferred system-language
is "deutsch", then VChess will load
"PROGDIR:Catalogs/deutsch/VChess.catalog". You can copy the catalogfile to
LOCALE:catalogs/language, VChess will find it there too, but I think it's
better to leave the catalogfiles in the VChess-Drawer. (You can use VChess
without its VChess-Drawer, but this is not recommendable because many
additional files like the opening-library, saved games, Icons and so on
belong to VChess.)
Starting VChess
The easiest way to start VChess is with a Double-Click on its Icon. But of
course you can start it from Shell by typing its name and then pressing
the <Return>-Key. (VChess needs no parameters.) If there is the file
VChess.config or Configs/VChess.config in the Drawer of VChess, then the
program uses this file for the startup-configuration, otherwise defaults
are used.
First Steps
Before you go on reading this text, it is better to start VChess now and
try it out. When the program has started, you can see four windows. The
big one with the chessboard is the main-window. The other windows are only
help-windows for showing some information. If one of these four windows is
active, then you can press the right mousebutton to take a look on the
Pulldown-Menu. (Don't be sad if the display looks ugly at this time. Many
things like colours, fonts and screen-resolution can be changed.) Now
select the menuitem "Config/Reset to defaults" to reset all adjustments to
defaults. Start the game by selecting "Project/NewGame". Now you play with
the white pieces against the computer. To move a piece, simply click on it
with the left mousebutton. (To click means: Move the pointer over the
chessman, and then press and release the left mousebutton.) Now this piece
is marked. Now click on the destination-square. If this was a legal move,
the piece will move from source to destination, and the computer will
answer with its move. Now it's again your turn, and so on. Don't hesitate
to test some of the menu-functions. The meaning of most of them should be
clear, just try it out. Of course you can re-size the windows, or close
the helpwindows.
Shareware-Contribution
I started the development of VChess in summer 1992, and now at the end of
July 1994 version 3.1 is finally (nearly) finished. I guess, that this
program took nearly 1500 hours of work till now. I think you can imagine
how much money the development of this program would have cost a
software-company, or how much money I could have earned if I had spent
this time somewhere else. And last not least the costs that the
development of software causes are not negligeable.
At the beginning I planed to sell VChess in a commercial way. But because
even with a commercial distribution it is not secure that the author gets
a justified amount of money for his work, I decided to distribute VChess
as Shareware. Shareware means, that the program can be freely copied, so
that everyone can get it (nearly) free of charge from friends, PD-Dealers
or by BBS-Systems. But when you like the program, and you want to go on
using it, you have to send a donation to the author.
VChess 3.1 is true shareware. This means that there are no restrictions in
this version. I emphasize this, because many authors have decided to
release only restricted versions of their software for freely
distribution. But there are no restrictions in VChess 3.1. This means that
you can test all functions of VChess, and you don't have to wait many
weeks after paying the contribution to get the fully functional version
from the author. And I have the advantage that I save some mailing-work
and postage.
So if you like VChess and want to go on using it, please send US$15 or
DM20 to the following address:
Stefan Salewski
Stolper Weg 3
D-21680 Stade (Germany)
Please compare this address with the text that you can see if you select
the menuitem "Project/About". If there are any differences in the
addresses, this means that somebody has made illegal modifications. In
this case try to get a clean, unmodified version of VChess. If you live in
Germany, you can send me a "Verrechnungsscheck" or make an "Überweisung"
to:
Stadt-Sparkasse Stade
Bankleitzahl 24151005
Kontonummer 823864
Otherwise I think the best way is if you send me the money in cash. It may
be possible to send an EuroCheck (only in DM !) or to send me the money by
postal money order. (But it is impossible for me to cash in foreign
checks, even if the amount is in DM. I got an check from an English bank
(DM 20), but I had to send it back because the banks in Stade charge DM 27
to cash it in.)
All people, who send me the contribution, will get a postcard or letter
from me, so that they know that I really got the money. If you should not
get this notification after six weeks, then something went wrong. (Please
don't forget to give me your FULL postal address.)
Playing-Strength
Of course it is a big difference if you play with a 68000- or
68040-processor. On my A3000 I lose most games against the computer, if I
play with fair conditions. Fair conditions means, that I don't take back
moves, and that I don't use more thinking-time than the computer. I can't
make precise statements about it, because I have too many possibilities to
compare VChess with. The playing-strength of version 2.0 was not very
great, but I think that in Version 3.1 the playing-strength is not bad.
The playing-algorithm is completely a development of my own, and I spent
"only" 600 hours on it. I think that other people thought much more about
it. The best way is if you test the playing-strength yourself. I think, if
you lose more than 50% of all games, then the playing-strength is big
enough for you. Note: If you lost nearly every game, it would be very
frustrating. Of course, if the playing-strength was very high, it would be
possible to degrade it artificially. But if you won against the computer,
you know that the computer have played intentional bad, you would not be
so glad about your win. If you think that the playing-strength is too low,
you can tell me. If many people think so, I will try to increase it. For
my own games the playing-strength is currently big enough.
The Use of VChess
After starting VChess, you will see the mainwindow, and perhaps the three
other windows. The behaviour of the windows is like the windows of the
Workbench. You can move, re-size and close them. If you close the
mainwindow, the program will terminate. To move a chessman, simple click
on it and then on the destination square. (To castle, simple move
the king. The rook is moved automatically.) If you clicked on a piece, and
this click was a mistake, just click again on it to delete the selection.
In the window titled "All Moves" you can see all moves of the current
game. The algebraic notation is used. "2.Bf1-b5 e7-e5" means, that this
is the second move, White moved the Bishop from square f1 to square b5,
and Black moved a pawn from e7 to e5. The letters behind the movenumber
(2.) have the following meanings:
P Pawn
N Knight
B Bishop
R Rook
Q Queen
K King
The "P" for a move of a pawn is usually substituted by a space. Some
special characters are used for special moves: "O - O" or "O-O-O" means
the small or big rochade (castle). "e.p." indicates the special pawn move
"En passant". "+" and "#" are used to indicate check and checkmate. "W#"
means, that White is checkmate, "B#3" means, that Black will be checkmate
in 3 half-moves. "W*" or "B*" is my own notation if White or Black is
stalemate.
The other window titled "Thinking..." shows the valuation of all currently
possible moves. The numbers on the right side are the valuation of this
move. The number 100 is equal to the gain of a pawn, -25 is equal to the
lost of a quarter pawn and so on.
"3-3 Be4xd5 50" means the following: If the Bishop on square e4 would hit
the chessman on square d5, this would result in the active player gaining
of one half pawn. The characters "3-3" describe the deep of thinking, in
this example three half-moves. (A half-move is a move of a white or a
black piece.) In this example the computer has calculated for each
possible move of the active player a move of its opponent, and for each of
these moves of the opponent again a move of its own. From these three
half-moves the total gain of this move is calculated, and the computer
will select the move with the highest total gain. Note that in the average
a player can make one of 30 possible moves. And for all of these 30
possible moves there are again 30 moves as a response, and so on. This
means, if the computer calculates 3 half-moves deep, the computer must
process 30^3=30*30*30=27000 half-moves. You can think about it as the
computer building a tree for each possible move. The first half-move is
the root of a tree, and from this root there are 30 branches to a opposite
move, and from each opposite move there are again 30 branches to the
opposite-opposite-moves and so on. Of course such a tree doesn't have to
be totally symmetric, some branches can be longer (more nodes) and others
shorter. If an entry begins for example with "3-4", then this means that
the basic depth of this tree is 3 nodes, but this branch is 4 nodes deep.
This will occur for example if the third halve-move is a capture. Or
sometimes you can see entries like "5-3". This means that the basic depth
of this tree is 5 nodes, but this branch is cut because it looks like a
bad move.
The fourth window is called "Move-Chain". If you click on an entry in the
"Thinking..."-Window, then the movechain of this move is displayed in this
window. This will help you to understand why the computer thinks that a
single move is a good or a bad move. The display of this window looks like
this:
------------
Gain: 40 +3
Nb8-c6 50
e4xd5 240
Qd8xd5 300
Nf3xe5 70
------------
This means: If the active player made the move "Nb8-c6", his opponent
would react with e4xd5 and so on. The real gain of the move "Nb8-c6" is
50-240+300-70=40. The +3 is a random-number added to the gain, so in the
"Thinking..."-window the displayed gain is 40+3=43.
Playing- and Buildup-Mode
There are two modes: Playing-Mode, and Buildup-Mode. In the Buildup-Mode
you can move pieces without any restrictions. In Playing-Mode you can do
only legal moves, and the chess clocks are running. The Buildup-Mode
contains a special sub-mode, called Replay-Mode. Replay-mode means, that
there is a game in memory (just played or loaded). In this case you can
use the menu items "Next Move", "Previous Move" etc. to replay it, and you
can save the game. If you are in Replay-Mode and modify the board by
moving pieces, you will go to the plain Buildup-Mode. If you are in the
plain Buildup-Mode, then you can save only the contents of the board
without any moves.
Titleline of the Mainwindow
The windowtitle is used for displaying various information, for example
error-reports or the last move. If the computer has done a move, you can
see in () which opening the computer uses, or the computing-power of the
computer in moves per second, Mps (really Half-moves).
Chess clocks
At the top of the board window you can see three chess clocks. The clock
on the left displays the total time for the white player, and the clock on
the right the time for the black player. The clock in the middle shows the
time for the active player.
The Menu
If one of the four windows is active, then you can select one of the
following functions with the right mousebutton:
Project
=======
"New Game"
With this item you start a new game. All pieces are built up on their
initial position, and it is white's turn.
"Start Game"
With this item you also start playing, but the pieces stay at there
former places.
"Solve for Mate"
With this item you can activate a special playing-mode: The computer
will go on thinking until the computer sees a mate or stalemate. A
Requester will ask you "How many moves to mate ?". Mate in one move
means, that the active player makes a move, and then his opponent is
checkmate. This is trivial. Mate in 2 Moves means, that the active
player makes a move, then his opponent makes any move, and then after
the second move of the active player the opponent is checkmate. Please
note: To see a "Mate in N moves", the computer has to calculate 2N+1
half-moves deep. So, to see a "Mate in 3" the computer has to built a
tree 2*3+1=7 nodes deep. This will take some time, to solve a "Mate in
3" will take some hours on an A4000! An "mate in 4" is nearly
impossible to find, but "Mate in 2" should take not more than one
hour. In the Requester you can enter a number between 1 and 4, (for
example, if you try to solve a chess problem from a Newspaper, and you
know that it should be an "mate in 2"), or just click on "OK" to start
searching for a "Mate in 1", then, if not found, for a "Mate in 2" and
so on. When the computer has found the way to checkmate, he stops the
game. You can see the moves to mate in the MoveChain-Window.
"Stop Game"
Terminates the current game (or solving for mate).
"Save Game"
With this function you can save a game, to go on playing it later or
to analyse it later. You can save it in Buildup-Mode and in
Playing-Mode. If there is no game in memory, or the board is modified,
then only the board is saved. Please note the following: Whenever you
make a saving-operation, like "Save Game" or "Print Movelist", or when
you add a game to the Opening-Library, then the game is saved only to
the current position in the game. This means, if you have take back a
move with "Extras/Undo", then this move is not saved. (This is not a
restriction, but a feature. So you can prevent saving the last bad
move of a game. If you wants to save the whole game, just select
"Setup/Last Move" or "Extras/Redo" from menu before saving.)
"Save Movelist"
The actual game is saved as a text file in algebraic notation.
"Print Movelist"
The actual game is printed as a text file in algebraic notation.
"Give Up"
A Requester will ask you if you really wants to give up. If so, then
the game will stop, and the default comment to this game will be
"White/Black gave up".
"Offer Draw"
Use this to propose a draw. (The game ended in a draw, neigther side
won. In german we use the word Remis, I think it's a french word.)
"About"
This item displays the address of the author of VChess.
"Quit"
Terminates the Program.
Players
=======
"Human-Human"
Two human players play against each other.
"Human-Amiga"
A human player plays with the white pieces against the computer.
"Amiga-Human"
The computer plays with the white pieces against a human player.
"Amiga-Amiga"
Computer plays against computer.
Time
====
With this menu you can change the thinking-time of the computer:
"10 Secs, 20 Secs, 30 Secs"
Thinking-time is 10, 20 or 30 seconds.
"1 Min, 2 Mins, 3 Mins, 5 Mins, 10 Mins, 30 Mins"
Thinking-time is 1, 2, 3, 5, 10 or 30 minutes.
"1 Hour, 3 Hours, 8 Hours, 12 Hours, 24 Hours"
Thinking-time is 1, 3, 8, 12 or 24 hours.
"Infinite"
The computer calculates until a mate is found.
"Custom"
With this function you can enter a custom thinking-time. With the four
gadgets you can determine if your input is in seconds, minutes or
hours. If you only press <Return>, then your input is assumed to be in
seconds.
"Equal ?"
If this item is marked, then the computer will adapt its thinking time
to the thinking time of the human player.
"Full ?"
If this item is marked, then the computer will use the full thinking
time. Otherwise he will sometimes make his move a little bit earlier.
(In most cases activating this item means wasting of time.)
Thinklist
=========
"Refresh"
The computer is always thinking for the active player, even if the
active player is a human player. If you select this item, then the
list of all currently possible moves together with their valuation is
displayed. Of course the valuation may change with time, because the
computer is thinking deeper and deeper. So if you select this item
after some time again, the valuation will be not the same. You can
also select this item if the computer is the active player, to see how
the computer evaluates the different moves. (In release 2.0 this item
was called "Help", because usually a human player would use it if he
didn't know what move he should make.)
"Refresh & Sort"
Like "Refresh", but the moves are displayed sorted, best move at the
top.
"Show old List"
This item is similar to "Refresh", but it displays not the current
(active) list, but the old list containing the last move. Sometimes it
is necessary to take a look on the old list, for example if the
computer makes a strange move, and you want to find out why he made
such a move. If the list containing this strange, last move is not
visible, then select this item to display it again.
"Show old List sorted"
Like "Show old List", but the moves are displayer sorted, best move at
the top.
"Show Best Chain"
Displays the Movechain of the currently best move. (You can use this
item or "Refresh & Sort" to get help from the computer.)
"Beep if updated ?"
If this item is marked, then the computer makes an audible beep if the
Thinklist- or MoveChain-Window is updated.
"Show sorted ?"
If this item is marked, then the Thinklist is displayed sorted.
"Update Display"
"If changed ?"
Update Thinklist and Move-Chain whenever there are changes. This may
slow down the calculating power, because in early states of an
thinking- process (the first seconds) there are many changes per
time interval.
"Automatic ?"
Update Thinklist and Move-Chain if it is useful, for example after
2, 5, 10, 20, 30, 60 Seconds, and then whenever there are changes.
"No Update ?"
Only update the display, when the user select
"Thinklist/Refresh & Sort" or an equal item. The "Move-Chain"-window
is updated, if the user clicks on an entry in the Thinklist.
"Refresh if"
"It's Computer's turn ?"
Refresh Thinklist and Move-Chain, if the computer is the active
player.
"It's Your turn ?"
Refresh Thinklist and Move-Chain, if a human is the active player.
"Update MoveChain"
"Best Move ?"
Display in the Movechain-Window the best move.
"Current Move ?"
Display in the Movechain-Window the current (last calculated) move.
"No Update ?"
Don't update the Move-Chain-Window automatically. The "Move-Chain"-
window is updated, if the user clicks on an entry in the Thinklist.
Display
=======
"Show Movelist"
The helpwindow, which shows the moves of the current game, is opened
or brought to the front.
"Show Thinking"
This function will open the window, which shows the valuation of all
currently possible moves, or brings this window in front of other
windows.
"Show MoveChain"
If you select this item, then the window, which displays the movechain
of a special move, is opened or brought to the front.
"Rotate"
"90+, 180, 90-"
With these items you can rotate the board.
"Change Colors"
If you select one of the following eleven items, then a Colour
requester is opened. Click on the colour, which should be used for the
drawing. If you use a custom-screen, you can use the sliders to change
the colour-values. But if you play on a public-screen, its better to
select only one colour. You can only select one colour at a time. If
you click on "Ok", then the board is drawn with the selected colour.
For pieces and squares you can select two colours, A and B. Colour B
is used for the border of the pieces, and although if the squares are
not monochrome (pattern).
"White Pieces A"
Colour A (inner) of white pieces.
"White Pieces B"
Colour B (border and pattern) of white pieces.
"Black Pieces A"
Colour A (inner) of black pieces.
"Black Pieces B"
Colour B (border and pattern) of black pieces.
"White Squares A"
Colour A of white squares
"White Squares B"
Colour B of white squares
"Black Squares A"
Colour A of black squares
"Black Squares B"
Colour B of black squares
"Board-Border"
Colour of the border of the board.
"Board-Text"
Colour of the text of the board. (1..8, a..h, and chess clocks )
"Rectangle"
Colour of the rectangle, which is drawn around a selected piece or
square.
"Change Patterns"
You can select between four different patterns for the squares and
pieces: Mono (only colour A), points, lines up and lines down.
"White Pieces"
Pattern for white pieces
"Black Pieces"
Pattern for black pieces
"White Squares"
Pattern for white squares
"Black Squares"
Pattern for black squares
If the display looks ugly on your screen, you should try other colours
and patterns. The defaults look nice on an hires-interlace-screen with
OS2.0-colours, but if you have to play on a screen with lower
resolution or different colours, then it's a good idea to try other
colour-selections and patterns.
"Setup Mode ?"
The board gets a border on the left and right side. On this border
rest some chessmen. In the Buildup-Mode, you can select these pieces
and use them to build up a position. Also you can move pieces on the
border to throw them away. In playing-mode the border has no function.
"Coordinates ?"
If you turn off coordinates, you have more room for the pieces. But I
think this is only necessary if you have to play on a screen with very
low resolution.
"Chess Clock ?"
You can turn off the clock. If you have turned off coordinates, clock
is always turned of too.
"Squareframes"
"White ?"
Draw a frame in colour A around white squares
"Black ?"
Draw a frame in colour A around black squares
"Change Screen"
With this item you can select if you want to play on the default
public screen, on a public screen or on a custom screen. If you want
to play on a public screen, you have to type in its name. If you want
to play on a custom screen, it is recommendable to use a screen with
four or eight colours. It is possible to use a screen with only two
colours, but this will not look very nice. More than eight colours are
not recommended, because VChess currently doesn't use more than eleven
different colours. Please keep in mind, that screen resolution and
number of colours may affect the calculating speed of your computer.
For example on my A3000 calculating speed is degraded about 50% if I
use a hires-16-color-screen or Productivity-Mode. Note that parts of
the pulldown-menu may be invisible if you use a large screenfont and a
screen with a low horizontal resolution.
"Screenfont"
If you play on a custom screen, then you can select a font which is
used for menus and windowtitles.
"Textfont"
With this function you can select a font which is used in the active
windows. First click in the desired window to make it the active one,
then select this item. So you can select different fonts for each
window. (Selection of a proportional font may give strange results.)
Set Up
======
You can access this menu only if you are in Buildup-Mode, maybe you have
to select "Project/StopGame" before.
"Load Game"
With this function you can load a game, to analyse it or go on playing
it. For example you can select the item "Next Move" multiple times to
go to a desired position in a game, and then select
"Project/StartGame" to start playing from this position. If you have
loaded a game, then the position is at the beginning of this game. So
if you want to continue a loaded game, it is necessary to select
"Last Move" before starting the game. There is a good reason why we
don't jump to the last move automatically: Maybe you got a solved
Chesstask on disk, for example a "mate in 3". If you load this
chesstask, you probably will try to find the solution by yourself
first. Only if you can't see it, you will use "Next Move" from menu to
display it.
"First Move"
Jumps to the first (really the one before) move of the actual game.
"Next Move"
The next move is performed.
"Previous Move"
Takes back the last move.
"Last Move"
Jumps to the last move of the actual game.
"Replay Game"
Replays the actual game from the current position to the last move of
this game. To replay from the beginning, it may be necessary to select
"First Move" before. The speed of replay depends on "Extras/Blinken",
see below. If you make any user-input in the boardwindow during
replaying, like mouseclick or menu operation, then the replay is
terminated.
"Clear Board"
All pieces are removed from the board.
"Build Up"
All pieces are moved to their start-position.
"Reset"
Resets a modified board. This is useful, if there is a game in memory
(just played or loaded), and you have modified the board by moving
pieces (or changed the active colour with the following two items). In
this case it is not possible to go on playing this game, to use
"Next Move", "Previous Move" etc. Instead of pushing back all moved
pieces, you can use this item to reset the board and active colour.
"White's turn"
The white player has to do the next move.
"Black's turn"
The black player has to do the next move.
Config
======
You can save all settings in a configuration-file.
"Load"
Loads a configuration and activates it.
"Save"
Saves the actual settings as defaults. The program will use these
settings at the next start. The settings are stored in the file
VChess.config, or if the drawer Configs exists, in this drawer.
"Save As"
With this function you can save additional configurations, which you
can load and activate again with "Config/Load" .
"Last Saved"
This function activates the configuration which was used at the start
of the program, or which was saved with "Save". This is the file named
Configs/VChess.config or VChess.config.
"Reset to defaults"
Resets all settings to defaults.
Extras
======
"Store this Pos."
Stores the current position. You can use this function in Playing- and
Buildup-Mode. This is very useful, if you try to solve a chess task,
or to develop new openings or if you are playing letter chess
(exchanging single moves with a friend by letters, EMail or phone.)
"Restore old Pos."
Restores the stored position.
"Set White's Aggr., Set Black's Aggr."
With these two items you can change the aggression of the computer. If
you enter the number N, then this means that the computer will assign
the pieces of his opponent a new value:
NewValue:=(RealValue + (RealValue*N/100).
The values of his own pieces remain unchanged. So, if you entered a
positive value, then the computer will give the opposite pieces a
greater value than his own pieces, and will play a more aggressive
game, maybe he will try to exchange a pawn of his own with a pawn of
his opponent. If you enter a negative value, then the computer will
play a less aggressive game, he will try to prevent the exchange of
equal pieces.
White's aggression is only important if the computers plays with the
white pieces. If the computer plays with the black pieces, you have to
use "Set Black's Aggr.". You will only have to use both items, if the
computer plays with white and black pieces (Playmode Amiga-Amiga). So
you can see what happens, if an aggressive computer player plays again
an un-aggressive computer player.
"Valuation"
The computer will evaluate the current position. But this valuation is
only an approximation, only the pieces on the board and their
strategic positions are taken into account. It is not regarded if one
chessman can capture an other chessman, or if a mate will occur after
some moves.
"Break"
With this function you can force the computer to make his move. Useful
if you are not very patient.
"Undo last Move"
With this function you can take back the last move. The chess-rules
don't allows this, but I think some people will use this function
sometimes. Of course you can take back many moves by selecting this
function again and again.
"Redo the Move"
The move which you have taken back is again performed.
"Pause"
This function stops the chess clocks, and sets the thinking-process to
a very low priority, so no computing-power is consumed. The break
automatically ends, if an user input is registered.
"Set Task Pri."
With this function you can modify the priority of this program.
Generally you will not need this function. Because a permanent
modification of priority is not useful, it is not stored in
configuration files. At the next start of VChess, the priority will be
again zero (if started from workbench) or equal to the priority of the
shell-process (if started from shell). The priority of the
thinking-process is always one point lower than the priority of the
main process. So user input is always processed in real-time.
"Create Icons ?"
With this item you can select if the program shall create icon for
saved files. If the program has to make Icons, then one of the
following icons is copied if it exist, or defaults are used.
Filetype Used Icon (if it exists)
------------------------------------------
Game "Icons/GameIcon", "GameIcon", "Games/Game1", "Game1"
Configuration "Icons/ConfigIcon", "ConfigIcon",
"Configs/VChess.config", "VChess.config";
Textfile "Icons/TextIcon", "TextIcon", "Text/Text1", "Text1"
Additional, if using Locale.library, for each filetype there are two
language-dependant Iconnames. For "deutsch" these are:
Filetype Icons for deutsch language (if it exists)
------------------------------------------
Game "Spiele/Spiel1", "Spiel1"
Configuration "Configs/VChess.config", "VChess.config";
Textfile "Texte/Text1", "Text1"
"Use Openings ?"
If this item is marked, then the computer will use the
Opening-library. (Please don't be confused, the Opening-library is not
a Library like ReqTools.library, but just a collection of openings.)
The filename of this library is VChessOpenings. This file must reside
in the same directory as the program VChess (PROGDIR:). (I think there
is no reason to hide it in sub-directories, or to use more than one
Opening-library.) Using this library means that the computer needs no
thinking time for the first moves, and the playing-strength of the
computer is greater. Of course the library can only be used, if the
game starts from initial position with white as the active player.
Note that the opening-library is loaded if playing starts. This means,
if you deactivate this item before you start playing, the library will
not be loaded in memory. This will save some memory, so that it may be
possible to use VChess on Amigas with only 512 K.
"Teaching ?"
With this function you can switch on a teaching-mode. If you are
playing and it is your turn, and you click on a piece, then all
squares on which the chessman can be moved are marked. This is very
useful for children learning chess.
"Sound ?"
If this item is activated, then a sound is generated when the computer
makes its move.
"PlayMode"
With the following four items you can modify the thinking-process of
the computer. For normal playing, it is best to let all of these items
marked. (If you select "Solve for mate", then internally all of these
items are cleared, but you can't see it.)
"Reduce ?"
If this item is marked, then the computer will cut some (bad)
branches of the chess tree to save time. For solving for mate this
may be harmful, so if you select "Project/SolveForMate" then no
branches are cut. If you play letter chess, and you give the
computer some hours for thinking, then it may be useful to de-select
this item.
"Extend ?"
If this item is marked, then the computer will extend some branches
of the chess tree. This is done, if the last node in the tree is a
capture.
"Estimate ?"
If this item is marked, then the computer will try to estimate if
the last nodes in the tree are good or bad moves. (In a given time
period, the computer can only calculate some half moves deep, for
example five half moves. In the last half move it may be possible
for a player to capture a Rook with a Queen. To decide, if this is a
very good move (win a Rook) or a very bad move (win a rook, but lose
the queen) the computer has to calculate the next half move of the
opponent. But there is not enough time to do this, and in the next
half move there will be with great probability a similar problem. So
the computer have to cut the movechain, and can only guess or
estimate if the last move in the chain is a good or bad move.)
"Strategy ?"
If this item is marked, then the computer will take into account
strategy, for example it is generally better if the Knight resides
in the centre of the board.
"Random"
With this item you can make the play of the computer more interesting.
Principle the computer would do always the same move in the same
situation, because he calculates the best move. But to the result of
the calculation a random number is added. With this function you can
select the upper border of this number. 100 points are equal to the
(virtual) win of a pawn.
"0, 25, 50, 100"
The random value is in the range between zero and 0, 25, 50 or 100.
If you select "0", then the computer always will do the same move in
the same situation. If you select "50", then to each calculated gain
a random number between 0 and 50 is added.
"Custom"
With this function you can enter a custom upper boundary for the
random number. If the boundary is high, then the playing-strength of
the computer will decrease. But maybe this is what you want.
"Blinken"
"0, 1, 3, 5"
If pieces are moved, they blink a few times. So you can see better
which move the computer makes. You can select between 0 to 5 blinks.
This blinking is also used if you have loaded a game and replays it
with "Replay" or "Next Move".
Openings
========
With this menu you can modify the opening-library. Most people can
ignore this menu.
"Add this Game"
If you select this item, then the current game is added to the
opening-library. With this function you can expand the
opening-library. (To create a new one, just delete the file
VChessOpenings before starting VChess.) There is only room for 48 half
moves of a game in the opening-library. If the current game has more
moves, the remainder is ignored. Of course you can add only regular
games, this means games started from their initial position and white
as active player. If you will add an opening from a chess book, it is
recommended to do it in this way: Select "Players/Human-Human" and now
"Project/NewGame". Now you can play the opening from the book, and
then select this item to add it to the library. You have to enter the
name of this opening, the name may not have more than 32 characters.
If this name already exists, you will get an error message. Try
another name. (Currently all names of openings are German names. The
reason is that I have only German chess books, and it's difficult to
find good translations for the names.)
If an opening, which you add to the library is already in this
library, but with another name, then there are two cases: If the
opening in the library contains more moves, then an error message is
displayed and your opening is not saved. But if your opening is
bigger, then your opening will over write the old one.
You should only add your own openings (games) to the library if you
are a very strong player, because an opening should contain only very
strong moves. If there is only one weak move, then the computer may do
this weak move and the playing-strength decreases.
Please note the following: If you want to add new entries to the
Opening-Library, it is necessary to load the existing library in
memory before you add new entries. So ensure that the menu item
"Extras/Use Openings" is on before you select "Project/New Game" to
enter a new Opening. In this case the existing Opening-Library is
loaded automatically.
"Delete actual"
With this function you can delete the actual opening, this means this
one which is just used by the computer. This can be useful, if you are
playing against the computer and notice that the computer uses a wrong
or weak opening.
"Delete by name"
With this function you can delete an opening by name.
"Dump to File"
This function writes all openings to a file in algebraic notation. You
can look at this file with a text viewer, or print it out.
"Save all Entries"
If you select this item, then the opening-library is saved. If you
forgot this, all modifications are lost.
Now, at the end of this text, some general remarks:
Errors or bugs in VChess
I'm sure that there are some small bugs in this version of VChess. Don't
hesitate to write to me if you find bugs or have comments about VChess.
But please don't expect a (long) response to each of your short letters. I
am studying physics, so I don't have much free time to answer your
letters.
New releases of VChess
There are still some things which may be improved. For example by using a
large Chess-Database, it should be possible to increase the
playing-strength drastically. So maybe there will be a new version of
VChess in some time. If this version will be freely distributable again
then it can be found on great FD-Libraries like the FISH-Library. Of
course it depends on the Shareware-contributions if or if not the next
release of VChess will be freely distributable. If I get only very few
contributions, then it may be necessary to distribute the next release of
VChess as commercial software. (Till now (30.08.94) only 15 people paid
there contribution for release 2.0. If this number does not increase
drastically for release 3.1, then I believe that the next release will not
be freely distributable.) But in this case all people who has paid their
contribution will not have to pay more than the difference between the
shareware-contribution and the price in a software-shop. If for example
version 4.0 of VChess is sold for $25, then all people who paid there
contribution will only have to pay $10 for release 4.0.
But of course I am still hoping that many people will pay their
contributions, so that all new releases of VChess will be freely
distributable again.
VChess and other languages
It is allowed to make verbatim translations of this documentation or to
produce new catalog files for other languages. You can distribute these
translations (together with the VChess-package) in your own country
without asking me for permission, but please don't make free, shortened or
buggy translations. You should only make translations, if you are really
using VChess, so that you can verify your work. (I think no translation is
better than a bad one.) Making a translation is a lot of work, so it may
be useful to contact me before starting with the translation. Maybe there
is already a new release of VChess, or someone else has already made the
desired translation. If you have produced a really good translation, then
you can send it to me. Maybe I will add it to the VChess-package.
By using the Locale.library, VChess can adapt itself to other languages if
running under OS2.1+. Currently only English and Deutsch are supported.
But the file VChess.cd is part of this package. So if you have the program
CatComp (© CBM) (or a FD-Program which works like CatComp) and you know
how to use CatComp, then you can produce Catalogfiles for your preferred
language. Although English is the built-in language of VChess, there
exists an English VChess.ct-file. You can use this (together with CatComp
and lokale.library) to adapt the English text to your own desire. (Modify
the VChess.ct-file, use CatComp to create the VChess.catalog-file (Usage:
CatComp VChess.cd TRANSLATION VChess.ct CATALOG VChess.catalog) and then
copy the VChess.catalog-file to Catalogs/english/VChess.catalog. If you
now start VChess again (after a reset), you should get the new text.)
If you modify Catalog-translations (VChess.ct), or create new
translations, please note this: If a menu item should get a short-cut,
insert at the beginning of the text string the letter for the short-cut
and the characters "\x00". For example, to create a short-cut for the menu
item "New Game", create this string: "P\x00Fresh Game". This will give the
item text "Fresh Game" with the short-cut "P" (Play). (This is the way,
which Nico Francois uses to create short-cuts for ReqToolsPrefs.) The
advantage is, that you can create Short-cuts for any number of items. But
be careful, only insert Short-cut-Characters in Item text or Sub-item
text, but not in other strings! (Unfortunately, there is a little problem:
If a menu item has no short-cut, and the text is only one character long,
this may look like an item with a short-cut but no text. To prevent this,
you can insert an additional space, or append an additional "\x00". So to
create an item without a short-cut and with the text "1" you can type
" 1", "1 " or "1\x00". (If the item has a short- cut, then there is no
problem, you can type for example "1\x001". This will result to an item
with text "1" and short-cut "1".)) In the Catalog-translations, there are
some strings which contains vertical bars, "|". These characters have a
special meaning for ReqTools.library. They divide the text for different
response-gadgets, so don't delete these characters. If such a string
contains any number of these characters, the number must remain constant.
Some strings may contain the characters "%ld". This is used to insert a
number, so don't delete this. Some strings contain "\x20". This is only a
space, you may delete it, but this is not recommendable. Some strings must
have a special length, look at the file VChess.cd to read this length.
(/6/8) for example means, that the minimum length is 6 characters, and
maximum length is 8 characters. Some strings contain a "\n". This is only
to write the following text on a new line.Most strings have no limitations
in length, but if you create too long strings, it may look ugly.
And now I hope that you enjoy this game.
Stefan Salewski, 16 October 1994